Document processing often involves binarization followed by connected component labeling to detect characters, embedded images, and other objects in a page image of a document. Binarization methods include global binarization and local binarization. Global binarization may cause some characters to go undetected during connected component labeling. This may occur when characters in the page image vary in appearance due to differences in color, intensity, and background. Local binarization can be performed instead to increase detection of characters, but local binarization can be inefficient. Local binarization often requires a significantly higher amount of computing resources and time compared to global binarization. There is a continuing need for an accurate and efficient way to detect characters in an input image.